perm filename ADVICE[F81,JMC]1 blob sn#629491 filedate 1981-12-03 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	advice[f81,jmc]		An advice giver and advice taker
C00005 ENDMK
CāŠ—;
advice[f81,jmc]		An advice giver and advice taker

Some ideas

1. I forget a lot, i.e. I do unwarranted circumscriptions.  I forgot
my Livermore badge and forgot that Superphone might be closed on
the day after Thanksgiving.  Suppose I want an advice giver program
that will tell me what to check when I tell it what I intend to do.

2. Let it be a LISP program doing problem solving via theorem proving.

3. Of course, it must do circumscriptions.

4. Here is a possible efficiency measure.  Suppose its standing
information takes the form of a collection of clauses and its
information regarding the given situation is another set of clauses.
We might demand that it decide what to do by only resolving between
the two groups and making this hereditary, i.e. each literal in
output clauses retains a note of its ancestry, and it isn't allowed
to resolve with a literal of the same ancestry.  The idea is that
all lemmas of general usefulness should be proved in advance and
included in the set of standing information.  Then any resolutions
among such information represents only a duplication in the special
problem of what ought to have been done generally.

5. It seems that we may want to mitigate this somewhat in special
cases, perhaps only in case a chain of actions is wanted.

6. We may also want to decree that a literal or a clause is used
only once.  If we anticipate using it more than once in some
problems, then more than one copy of the clause can be included
in the standing information.